package hht.dragon.blog.common.api.utils;

import hht.dragon.blog.common.api.ReturnData;
import reactor.core.publisher.Mono;

/**
 * 快速构造ReturnData对象的工具类.
 * User: huang
 * Date: 18-6-23
 */
public class Returns {

    /**
     * 快速构造ReturnData实例
     * @param code 状态码
     * @param data 主数据
     * @param <T> 主数据类型
     * @return
     */
    public static <T> ReturnData<T> newReturnData(int code, T data) {
        return new ReturnData<>(code, data);
    }

    /**
     * 快速构造Mono封装的ReturnData对象.
     * @param code 状态码
     * @param data 主数据
     * @param <T> 主数据类型
     * @return
     */
    public static <T> Mono<ReturnData<T>> newMonoReturnData(int code, T data) {
        return Mono.just(newReturnData(code, data));
    }

}
